From 720a883c7f9abd1c31ac286fa6cb6c639887bfc3 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 3 Feb 2009 14:03:32 +0000 Subject: [PATCH] x86/shadow: struct page_info's type_info is now unsigned long, hence local variables of type u32 (and the more such with misleading names) must no longer be used. Signed-off-by: Jan Beulich --- xen/arch/x86/mm/shadow/common.c | 4 +--- xen/arch/x86/mm/shadow/multi.c | 6 ++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c index 8e1b5dd045..5ac9529e4a 100644 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -3659,7 +3659,6 @@ int shadow_track_dirty_vram(struct domain *d, for ( i = 0; i < nr; i++ ) { mfn_t mfn = gfn_to_mfn(d, begin_pfn + i, &t); struct page_info *page; - u32 count_info; int dirty = 0; paddr_t sl1ma = d->dirty_vram->sl1ma[i]; @@ -3670,8 +3669,7 @@ int shadow_track_dirty_vram(struct domain *d, else { page = mfn_to_page(mfn); - count_info = page->u.inuse.type_info & PGT_count_mask; - switch (count_info) + switch (page->u.inuse.type_info & PGT_count_mask) { case 0: /* No guest reference, nothing to track. */ diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index 3b426093db..51566b2eb3 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -1036,9 +1036,8 @@ static inline void shadow_vram_get_l1e(shadow_l1e_t new_sl1e, if ( (gfn >= d->dirty_vram->begin_pfn) && (gfn < d->dirty_vram->end_pfn) ) { unsigned long i = gfn - d->dirty_vram->begin_pfn; struct page_info *page = mfn_to_page(mfn); - u32 count_info = page->u.inuse.type_info & PGT_count_mask; - if ( count_info == 1 ) + if ( (page->u.inuse.type_info & PGT_count_mask) == 1 ) /* Initial guest reference, record it */ d->dirty_vram->sl1ma[i] = pfn_to_paddr(mfn_x(sl1mfn)) | ((unsigned long)sl1e & ~PAGE_MASK); @@ -1064,12 +1063,11 @@ static inline void shadow_vram_put_l1e(shadow_l1e_t old_sl1e, if ( (gfn >= d->dirty_vram->begin_pfn) && (gfn < d->dirty_vram->end_pfn) ) { unsigned long i = gfn - d->dirty_vram->begin_pfn; struct page_info *page = mfn_to_page(mfn); - u32 count_info = page->u.inuse.type_info & PGT_count_mask; int dirty = 0; paddr_t sl1ma = pfn_to_paddr(mfn_x(sl1mfn)) | ((unsigned long)sl1e & ~PAGE_MASK); - if ( count_info == 1 ) { + if ( (page->u.inuse.type_info & PGT_count_mask) == 1 ) { /* Last reference */ if ( d->dirty_vram->sl1ma[i] == INVALID_PADDR ) { /* We didn't know it was that one, let's say it is dirty */ -- 2.30.2